<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>
BaseMultiStartMultivariateOptimizer (Commons Math 3.2 API)
</TITLE>


<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">

<SCRIPT type="text/javascript">
function windowTitle()
{
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="BaseMultiStartMultivariateOptimizer (Commons Math 3.2 API)";
    }
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>

</HEAD>

<BODY BGCOLOR="white" onload="windowTitle();">
<HR>


<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/BaseMultiStartMultivariateOptimizer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../../org/apache/commons/math3/optim/AbstractConvergenceChecker.html" title="class in org.apache.commons.math3.optim"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../org/apache/commons/math3/optim/BaseMultivariateOptimizer.html" title="class in org.apache.commons.math3.optim"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../index.html?org/apache/commons/math3/optim/BaseMultiStartMultivariateOptimizer.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="BaseMultiStartMultivariateOptimizer.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.commons.math3.optim.BaseOptimizer">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->

<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.apache.commons.math3.optim</FONT>
<BR>
Class BaseMultiStartMultivariateOptimizer&lt;PAIR&gt;</H2>
<PRE>
<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
  <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../../org/apache/commons/math3/optim/BaseOptimizer.html" title="class in org.apache.commons.math3.optim">org.apache.commons.math3.optim.BaseOptimizer</A>&lt;PAIR&gt;
      <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../../org/apache/commons/math3/optim/BaseMultivariateOptimizer.html" title="class in org.apache.commons.math3.optim">org.apache.commons.math3.optim.BaseMultivariateOptimizer</A>&lt;PAIR&gt;
          <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.commons.math3.optim.BaseMultiStartMultivariateOptimizer&lt;PAIR&gt;</B>
</PRE>
<DL>
<DT><DT><B>Type Parameters:</B><DD><CODE>PAIR</CODE> - Type of the point/value pair returned by the optimization
 algorithm.</DL>
<DL>
<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../../org/apache/commons/math3/optim/nonlinear/scalar/MultiStartMultivariateOptimizer.html" title="class in org.apache.commons.math3.optim.nonlinear.scalar">MultiStartMultivariateOptimizer</A>, <A HREF="../../../../../org/apache/commons/math3/optim/nonlinear/vector/MultiStartMultivariateVectorOptimizer.html" title="class in org.apache.commons.math3.optim.nonlinear.vector">MultiStartMultivariateVectorOptimizer</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public abstract class <B>BaseMultiStartMultivariateOptimizer&lt;PAIR&gt;</B><DT>extends <A HREF="../../../../../org/apache/commons/math3/optim/BaseMultivariateOptimizer.html" title="class in org.apache.commons.math3.optim">BaseMultivariateOptimizer</A>&lt;PAIR&gt;</DL>
</PRE>

<P>
Base class multi-start optimizer for a multivariate function.
 <br/>
 This class wraps an optimizer in order to use it several times in
 turn with different starting points (trying to avoid being trapped
 in a local extremum when looking for a global one).
 <em>It is not a "user" class.</em>
<P>

<P>
<DL>
<DT><B>Since:</B></DT>
  <DD>3.0</DD>
<DT><B>Version:</B></DT>
  <DD>$Id: BaseMultiStartMultivariateOptimizer.java 1454746 2013-03-09 17:37:30Z luc $</DD>
</DL>
<HR>

<P>
<!-- =========== FIELD SUMMARY =========== -->

<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Field Summary</B></FONT></TH>
</TR>
</TABLE>
&nbsp;<A NAME="fields_inherited_from_class_org.apache.commons.math3.optim.BaseOptimizer"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Fields inherited from class org.apache.commons.math3.optim.<A HREF="../../../../../org/apache/commons/math3/optim/BaseOptimizer.html" title="class in org.apache.commons.math3.optim">BaseOptimizer</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../../org/apache/commons/math3/optim/BaseOptimizer.html#evaluations">evaluations</A>, <A HREF="../../../../../org/apache/commons/math3/optim/BaseOptimizer.html#iterations">iterations</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->

<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../../org/apache/commons/math3/optim/BaseMultiStartMultivariateOptimizer.html#BaseMultiStartMultivariateOptimizer(org.apache.commons.math3.optim.BaseMultivariateOptimizer, int, org.apache.commons.math3.random.RandomVectorGenerator)">BaseMultiStartMultivariateOptimizer</A></B>(<A HREF="../../../../../org/apache/commons/math3/optim/BaseMultivariateOptimizer.html" title="class in org.apache.commons.math3.optim">BaseMultivariateOptimizer</A>&lt;<A HREF="../../../../../org/apache/commons/math3/optim/BaseMultiStartMultivariateOptimizer.html" title="type parameter in BaseMultiStartMultivariateOptimizer">PAIR</A>&gt;&nbsp;optimizer,
                                    int&nbsp;starts,
                                    <A HREF="../../../../../org/apache/commons/math3/random/RandomVectorGenerator.html" title="interface in org.apache.commons.math3.random">RandomVectorGenerator</A>&nbsp;generator)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create a multi-start optimizer from a single-start optimizer.</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->

<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected abstract &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/commons/math3/optim/BaseMultiStartMultivariateOptimizer.html#clear()">clear</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Method that will called in order to clear all stored optima.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../../org/apache/commons/math3/optim/BaseMultiStartMultivariateOptimizer.html" title="type parameter in BaseMultiStartMultivariateOptimizer">PAIR</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/commons/math3/optim/BaseMultiStartMultivariateOptimizer.html#doOptimize()">doOptimize</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Performs the bulk of the optimization algorithm.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/commons/math3/optim/BaseMultiStartMultivariateOptimizer.html#getEvaluations()">getEvaluations</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the number of evaluations of the objective function.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>abstract &nbsp;<A HREF="../../../../../org/apache/commons/math3/optim/BaseMultiStartMultivariateOptimizer.html" title="type parameter in BaseMultiStartMultivariateOptimizer">PAIR</A>[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/commons/math3/optim/BaseMultiStartMultivariateOptimizer.html#getOptima()">getOptima</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets all the optima found during the last call to <code>optimize</code>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/commons/math3/optim/BaseMultiStartMultivariateOptimizer.html" title="type parameter in BaseMultiStartMultivariateOptimizer">PAIR</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/commons/math3/optim/BaseMultiStartMultivariateOptimizer.html#optimize(org.apache.commons.math3.optim.OptimizationData...)">optimize</A></B>(<A HREF="../../../../../org/apache/commons/math3/optim/OptimizationData.html" title="interface in org.apache.commons.math3.optim">OptimizationData</A>...&nbsp;optData)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Stores data and performs the optimization.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected abstract &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/commons/math3/optim/BaseMultiStartMultivariateOptimizer.html#store(PAIR)">store</A></B>(<A HREF="../../../../../org/apache/commons/math3/optim/BaseMultiStartMultivariateOptimizer.html" title="type parameter in BaseMultiStartMultivariateOptimizer">PAIR</A>&nbsp;optimum)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Method that will be called in order to store each found optimum.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.commons.math3.optim.BaseMultivariateOptimizer"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class org.apache.commons.math3.optim.<A HREF="../../../../../org/apache/commons/math3/optim/BaseMultivariateOptimizer.html" title="class in org.apache.commons.math3.optim">BaseMultivariateOptimizer</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../../org/apache/commons/math3/optim/BaseMultivariateOptimizer.html#getLowerBound()">getLowerBound</A>, <A HREF="../../../../../org/apache/commons/math3/optim/BaseMultivariateOptimizer.html#getStartPoint()">getStartPoint</A>, <A HREF="../../../../../org/apache/commons/math3/optim/BaseMultivariateOptimizer.html#getUpperBound()">getUpperBound</A>, <A HREF="../../../../../org/apache/commons/math3/optim/BaseMultivariateOptimizer.html#parseOptimizationData(org.apache.commons.math3.optim.OptimizationData...)">parseOptimizationData</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.commons.math3.optim.BaseOptimizer"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class org.apache.commons.math3.optim.<A HREF="../../../../../org/apache/commons/math3/optim/BaseOptimizer.html" title="class in org.apache.commons.math3.optim">BaseOptimizer</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../../org/apache/commons/math3/optim/BaseOptimizer.html#getConvergenceChecker()">getConvergenceChecker</A>, <A HREF="../../../../../org/apache/commons/math3/optim/BaseOptimizer.html#getIterations()">getIterations</A>, <A HREF="../../../../../org/apache/commons/math3/optim/BaseOptimizer.html#getMaxEvaluations()">getMaxEvaluations</A>, <A HREF="../../../../../org/apache/commons/math3/optim/BaseOptimizer.html#getMaxIterations()">getMaxIterations</A>, <A HREF="../../../../../org/apache/commons/math3/optim/BaseOptimizer.html#incrementEvaluationCount()">incrementEvaluationCount</A>, <A HREF="../../../../../org/apache/commons/math3/optim/BaseOptimizer.html#incrementIterationCount()">incrementIterationCount</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>

<!-- ========= CONSTRUCTOR DETAIL ======== -->

<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="BaseMultiStartMultivariateOptimizer(org.apache.commons.math3.optim.BaseMultivariateOptimizer, int, org.apache.commons.math3.random.RandomVectorGenerator)"><!-- --></A><H3>
BaseMultiStartMultivariateOptimizer</H3>
<PRE>
public <B>BaseMultiStartMultivariateOptimizer</B>(<A HREF="../../../../../org/apache/commons/math3/optim/BaseMultivariateOptimizer.html" title="class in org.apache.commons.math3.optim">BaseMultivariateOptimizer</A>&lt;<A HREF="../../../../../org/apache/commons/math3/optim/BaseMultiStartMultivariateOptimizer.html" title="type parameter in BaseMultiStartMultivariateOptimizer">PAIR</A>&gt;&nbsp;optimizer,
                                           int&nbsp;starts,
                                           <A HREF="../../../../../org/apache/commons/math3/random/RandomVectorGenerator.html" title="interface in org.apache.commons.math3.random">RandomVectorGenerator</A>&nbsp;generator)</PRE>
<DL>
<DD>Create a multi-start optimizer from a single-start optimizer.
 <p>
 Note that if there are bounds constraints (see <A HREF="../../../../../org/apache/commons/math3/optim/BaseMultivariateOptimizer.html#getLowerBound()"><CODE>BaseMultivariateOptimizer.getLowerBound()</CODE></A>
 and <A HREF="../../../../../org/apache/commons/math3/optim/BaseMultivariateOptimizer.html#getUpperBound()"><CODE>BaseMultivariateOptimizer.getUpperBound()</CODE></A>), then a simple rejection algorithm is used
 at each restart. This implies that the random vector generator should have
 a good probability to generate vectors in the bounded domain, otherwise the
 rejection algorithm will hit the <A HREF="../../../../../org/apache/commons/math3/optim/BaseOptimizer.html#getMaxEvaluations()"><CODE>BaseOptimizer.getMaxEvaluations()</CODE></A> count without
 generating a proper restart point. Users must be take great care of the <a
 href="http://en.wikipedia.org/wiki/Curse_of_dimensionality">curse of dimensionality</a>.
 </p>
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>optimizer</CODE> - Single-start optimizer to wrap.<DD><CODE>starts</CODE> - Number of starts to perform. If <code>starts == 1</code>,
 the <A HREF="../../../../../org/apache/commons/math3/optim/BaseMultiStartMultivariateOptimizer.html#optimize(org.apache.commons.math3.optim.OptimizationData...)"><CODE>optimize</CODE></A> will return the
 same solution as the given <code>optimizer</code> would return.<DD><CODE>generator</CODE> - Random vector generator to use for restarts.
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../../org/apache/commons/math3/exception/NotStrictlyPositiveException.html" title="class in org.apache.commons.math3.exception">NotStrictlyPositiveException</A></CODE> - if <code>starts &lt; 1</code>.</DL>
</DL>

<!-- ============ METHOD DETAIL ========== -->

<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="getEvaluations()"><!-- --></A><H3>
getEvaluations</H3>
<PRE>
public int <B>getEvaluations</B>()</PRE>
<DL>
<DD>Gets the number of evaluations of the objective function.
 The number of evaluations corresponds to the last call to the
 <code>optimize</code> method. It is 0 if the method has not been
 called yet.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../org/apache/commons/math3/optim/BaseOptimizer.html#getEvaluations()">getEvaluations</A></CODE> in class <CODE><A HREF="../../../../../org/apache/commons/math3/optim/BaseOptimizer.html" title="class in org.apache.commons.math3.optim">BaseOptimizer</A>&lt;<A HREF="../../../../../org/apache/commons/math3/optim/BaseMultiStartMultivariateOptimizer.html" title="type parameter in BaseMultiStartMultivariateOptimizer">PAIR</A>&gt;</CODE></DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>the number of evaluations of the objective function.</DL>
</DD>
</DL>
<HR>

<A NAME="getOptima()"><!-- --></A><H3>
getOptima</H3>
<PRE>
public abstract <A HREF="../../../../../org/apache/commons/math3/optim/BaseMultiStartMultivariateOptimizer.html" title="type parameter in BaseMultiStartMultivariateOptimizer">PAIR</A>[] <B>getOptima</B>()</PRE>
<DL>
<DD>Gets all the optima found during the last call to <code>optimize</code>.
 The optimizer stores all the optima found during a set of
 restarts. The <code>optimize</code> method returns the best point only.
 This method returns all the points found at the end of each starts,
 including the best one already returned by the <code>optimize</code> method.
 <br/>
 The returned array as one element for each start as specified
 in the constructor. It is ordered with the results from the
 runs that did converge first, sorted from best to worst
 objective value (i.e in ascending order if minimizing and in
 descending order if maximizing), followed by <code>null</code> elements
 corresponding to the runs that did not converge. This means all
 elements will be <code>null</code> if the <code>optimize</code> method did throw
 an exception.
 This also means that if the first element is not <code>null</code>, it is
 the best point found across all starts.
 <br/>
 The behaviour is undefined if this method is called before
 <code>optimize</code>; it will likely throw <code>NullPointerException</code>.
<P>
<DD><DL>

<DT><B>Returns:</B><DD>an array containing the optima sorted from best to worst.</DL>
</DD>
</DL>
<HR>

<A NAME="optimize(org.apache.commons.math3.optim.OptimizationData...)"><!-- --></A><H3>
optimize</H3>
<PRE>
public <A HREF="../../../../../org/apache/commons/math3/optim/BaseMultiStartMultivariateOptimizer.html" title="type parameter in BaseMultiStartMultivariateOptimizer">PAIR</A> <B>optimize</B>(<A HREF="../../../../../org/apache/commons/math3/optim/OptimizationData.html" title="interface in org.apache.commons.math3.optim">OptimizationData</A>...&nbsp;optData)</PRE>
<DL>
<DD>Stores data and performs the optimization.
 <br/>
 The list of parameters is open-ended so that sub-classes can extend it
 with arguments specific to their concrete implementations.
 <br/>
 When the method is called multiple times, instance data is overwritten
 only when actually present in the list of arguments: when not specified,
 data set in a previous call is retained (and thus is optional in
 subsequent calls).
 <br/>
 Important note: Subclasses <em>must</em> override
 <A HREF="../../../../../org/apache/commons/math3/optim/BaseOptimizer.html#parseOptimizationData(org.apache.commons.math3.optim.OptimizationData...)"><CODE>BaseOptimizer.parseOptimizationData(OptimizationData[])</CODE></A> if they need to register
 their own options; but then, they <em>must</em> also call
 <code>super.parseOptimizationData(optData)</code> within that method.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../org/apache/commons/math3/optim/BaseMultivariateOptimizer.html#optimize(org.apache.commons.math3.optim.OptimizationData...)">optimize</A></CODE> in class <CODE><A HREF="../../../../../org/apache/commons/math3/optim/BaseMultivariateOptimizer.html" title="class in org.apache.commons.math3.optim">BaseMultivariateOptimizer</A>&lt;<A HREF="../../../../../org/apache/commons/math3/optim/BaseMultiStartMultivariateOptimizer.html" title="type parameter in BaseMultiStartMultivariateOptimizer">PAIR</A>&gt;</CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>optData</CODE> - Optimization data. In addition to those documented in
 <A HREF="../../../../../org/apache/commons/math3/optim/BaseOptimizer.html#parseOptimizationData(org.apache.commons.math3.optim.OptimizationData...)"><CODE>BaseOptimizer</CODE></A>,
 this method will register the following data:
 <ul>
  <li><A HREF="../../../../../org/apache/commons/math3/optim/InitialGuess.html" title="class in org.apache.commons.math3.optim"><CODE>InitialGuess</CODE></A></li>
  <li><A HREF="../../../../../org/apache/commons/math3/optim/SimpleBounds.html" title="class in org.apache.commons.math3.optim"><CODE>SimpleBounds</CODE></A></li>
 </ul>
<DT><B>Returns:</B><DD>a point/value pair that satifies the convergence criteria.
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../../org/apache/commons/math3/exception/MathIllegalStateException.html" title="class in org.apache.commons.math3.exception">MathIllegalStateException</A></CODE> - if <code>optData</code> does not contain an
 instance of <A HREF="../../../../../org/apache/commons/math3/optim/MaxEval.html" title="class in org.apache.commons.math3.optim"><CODE>MaxEval</CODE></A> or <A HREF="../../../../../org/apache/commons/math3/optim/InitialGuess.html" title="class in org.apache.commons.math3.optim"><CODE>InitialGuess</CODE></A>.</DL>
</DD>
</DL>
<HR>

<A NAME="doOptimize()"><!-- --></A><H3>
doOptimize</H3>
<PRE>
protected <A HREF="../../../../../org/apache/commons/math3/optim/BaseMultiStartMultivariateOptimizer.html" title="type parameter in BaseMultiStartMultivariateOptimizer">PAIR</A> <B>doOptimize</B>()</PRE>
<DL>
<DD>Performs the bulk of the optimization algorithm.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/commons/math3/optim/BaseOptimizer.html#doOptimize()">doOptimize</A></CODE> in class <CODE><A HREF="../../../../../org/apache/commons/math3/optim/BaseOptimizer.html" title="class in org.apache.commons.math3.optim">BaseOptimizer</A>&lt;<A HREF="../../../../../org/apache/commons/math3/optim/BaseMultiStartMultivariateOptimizer.html" title="type parameter in BaseMultiStartMultivariateOptimizer">PAIR</A>&gt;</CODE></DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>the point/value pair giving the optimal value of the
 objective function.</DL>
</DD>
</DL>
<HR>

<A NAME="store(java.lang.Object)"><!-- --></A><A NAME="store(PAIR)"><!-- --></A><H3>
store</H3>
<PRE>
protected abstract void <B>store</B>(<A HREF="../../../../../org/apache/commons/math3/optim/BaseMultiStartMultivariateOptimizer.html" title="type parameter in BaseMultiStartMultivariateOptimizer">PAIR</A>&nbsp;optimum)</PRE>
<DL>
<DD>Method that will be called in order to store each found optimum.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>optimum</CODE> - Result of an optimization run.</DL>
</DD>
</DL>
<HR>

<A NAME="clear()"><!-- --></A><H3>
clear</H3>
<PRE>
protected abstract void <B>clear</B>()</PRE>
<DL>
<DD>Method that will called in order to clear all stored optima.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>


<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/BaseMultiStartMultivariateOptimizer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../../org/apache/commons/math3/optim/AbstractConvergenceChecker.html" title="class in org.apache.commons.math3.optim"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../org/apache/commons/math3/optim/BaseMultivariateOptimizer.html" title="class in org.apache.commons.math3.optim"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../index.html?org/apache/commons/math3/optim/BaseMultiStartMultivariateOptimizer.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="BaseMultiStartMultivariateOptimizer.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.commons.math3.optim.BaseOptimizer">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->

<HR>
Copyright &#169; 2003-2013 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.
</BODY>
</HTML>
